package wangchao.validate.annotation;

/**
 * Created by ashin on 2018/11/1.
 */

import wangchao.validate.FieldTypeEnum;
import wangchao.validate.ValidateType;

import java.lang.annotation.*;

/**
 * 类型
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.ANNOTATION_TYPE,ElementType.PARAMETER})
public @interface WangcTypeValidate {

    /**
     * 字段类型所属验证方案
     *
     * @return
     */
    ValidateType validate() default ValidateType.NOT_VALIDATE;

    /**
     * 详细说明,当type为需要指定数值的时候,该参数启用
     *
     * @return
     */
    int specify() default 0;

    /**
     * 正则表达式
     *
     * @return
     */
    String regex() default "";

    /**
     * 自定义说明
     *
     * @return
     */
    String msg() default "";

    /**
     * 字段类型
     * @return
     */
    FieldTypeEnum fieldType() default FieldTypeEnum.STRING;
}